
package Otros;

import java.util.ArrayList;
import java.util.List;

/**
 *  LuxarJSP
 *      - Javier Ruiz Hidalgo
 *      - Miguel Alejandro Esteban Ordoñez
 */

/**
 *  Descripción de la Clase:
 *      - Clase que contiene métodos el tratamiento Cadenas de Caracteres. Es visible
 *        en cualquier parte del código al ser Estáticos
 */

public class FormatoCadenas {

    //Función que sustituye los caracteres especiales aptos para HTML
    public static String htmlentities(String s){
        s = s.replaceAll("á", "&aacute;");
        s = s.replaceAll("é", "&eacute;");
        s = s.replaceAll("í", "&iacute;");
        s = s.replaceAll("ó", "&oacute;");
        s = s.replaceAll("ú", "&uacute;");
        s = s.replaceAll("Á", "&Aacute;");
        s = s.replaceAll("É", "&Eacute;");
        s = s.replaceAll("Í", "&Iacute;");
        s = s.replaceAll("Ó", "&Oacute;");
        s = s.replaceAll("Ú", "&Uacute;");
        s = s.replaceAll("ñ", "&ntilde;");
        s = s.replaceAll("Ñ", "&Ntilde;");
        s = s.replaceAll("\n", "<br />");
        return s;
    }

    //Función que sustituye las etiquetas de edición de mensajes por etiquetas HTML
    public static String sustituirImagenes(String texto){
        texto = texto.replace("[IMAGEN]", "<img src=\"");
        texto = texto.replace("[/IMAGEN]", "\" alt=\"foto\" />");

        return texto;
    }

    //Función que extrae todas las rutas de las imagenes de un mensaje o cadena
    public static List<String> extraeImagenes(String texto){
        List imagenes = new ArrayList();

        String [] cads = texto.split("/IMAGEN");
        int indice = -1, longitud = 0;

        for(String a:cads){
            indice = a.indexOf("[IMAGEN]");
            if(indice != -1){
                longitud = a.length();
                imagenes.add(a.substring(indice + 8, longitud - 1));

            }
        }

        return imagenes;
    }

}
